/*************************************************************************
	> File Name: Proxy.h
	> Author: Joker
	> Mail: mahongtao@foxmail.com 
	> Created Time: 2020-09-22 11:47:51
 ************************************************************************/

#ifndef __PROXY_H__
#define __PROXY_H__

class Subject
{
public:
    Subject(){}
    virtual ~Subject(){}

    virtual void Request() = 0;
};

class RealSubject
:public Subject
{
public:
    RealSubject();
    virtual ~RealSubject();

    virtual void Request() override;
};

class Proxy
:public Subject
{
public:
    Proxy();
    virtual ~Proxy();

    virtual void Request();

private:
    RealSubject * _pRealSubject;
};

#endif
